/* 二次封装axios */
import axios from "axios";
import nProgress from "nprogress";
import "nprogress/nprogress.css"
import store from "@/store";
import { getTOKEN } from "@/utils/token";

const requests = axios.create({
    // 配置对象
    // 基础路径，发请求的时候，路径当中会出现api
    baseURL:"/api",
    // 超时时长
    timeout:5000, //5s
});

// 请求拦截器
requests.interceptors.request.use((config)=>{
    // 开启进度条
    nProgress.start();
    // config:配置对象，对象里面有个属性很重要，headers请求头
    if(store.state.detail.uuid_token){
     //给请求头添加字段
     config.headers.userTempId = store.state.detail.uuid_token
    }

    if(getTOKEN()){
       config.headers.token = getTOKEN()
    }
    return config;
});

// 响应拦截器
requests.interceptors.response.use(
              (req)=>{
                // 结束进度条
                nProgress.done()
                return req.data;
            },
              error => Promise.reject(new Error(error.message))
              );
// 暴露
export default requests;